
(function($){
    $.extend({ 
        /*        
         * pagerData：包含分页信息
         * pagerData:{
         *     total:100,
         *     size:10,
         *     index:1,
         *  }
         */
        serviceCreatePaging:function(pagerData){
            var pageHtmls=[];
            
            if(pagerData && pagerData.total && pagerData.total>0 
                && pagerData.index && pagerData.index>0
                && pagerData.size  && pagerData.size>0    
            ){
                var totalIndex=pagerData.total/pagerData.size;
                if(pagerData.total%pagerData.size!=0){
                    totalIndex+=1;
                }
                pageHtmls.push('<ul class="pagination justify-content-center">');
                pageHtmls.push('<li class="page-item">');
                pageHtmls.push('<a class="page-link" href="#" tabindex="1">首页</a>');
                pageHtmls.push('</li>');                
                pageHtmls.push('<li class="page-item">');
                pageHtmls.push('<a class="page-link" href="#" tabindex="-1">前一页</a>');
                pageHtmls.push('</li>');

                var pageIndex=[pagerData.index-2,pagerData.index-1,pagerData.index,pagerData.index+1,pagerData.index+2];
                if(pageIndex[0]<1){
                    var offset= 1-pageIndex[0];
                    for(var i=0;i<pageIndex.length;i++){
                        pageIndex[i]+=offset;
                    }
                }
                for(var j=0;j<pageIndex.length;j++){
                    if(pageIndex[j]<=totalIndex){
                        pageHtmls.push('<li class="page-item">');
                        pageHtmls.push('<a class="page-link" href="#" tabindex="-1">'+pageIndex[j]+'</a>');
                        pageHtmls.push('</li>');
                    }
                }

                pageHtmls.push('<li class="page-item">');
                pageHtmls.push('<a class="page-link" href="#" tabindex="1">后一页</a>');
                pageHtmls.push('</li>');                
                pageHtmls.push('<li class="page-item">');
                pageHtmls.push('<a class="page-link" href="#" tabindex="'+totalIndex+'">尾页</a>');
                pageHtmls.push('</li>');
                pageHtmls.push('</ul>');
            }
            return pageHtmls.join('');
        },
        /**
         * 创建业务逻辑展示table，返回table html 
         * tableData:包含table头信息 以及数据信息        
         * tableData:[           
         *  { row1Data,rows2Data}
         * ]            
         */
       createPagerTbody:function(tableColumn,tableData,pagerData,tableId,pagerId){
            var tbodyHtmls=[];
            if(tableColumn && tableColumn.length>0){
                tbodyHtmls.push('<thead>');
                tbodyHtmls.push('<tr>');
                for(var k=0;k<tableColumn.length;k++){
                    tbodyHtmls.push('<td>'+tableColumn[k]+'</td>');
                }
                tbodyHtmls.push('</thead>');
                tbodyHtmls.push('</tr>');
            }
            tbodyHtmls.push('<tbody>');
            for(var i=0;i<tableData.length;i++){                
                tbodyHtmls.push('<tr>');
                tbodyHtmls.push('<td>'+(pagerData.size*pagerData.index+i+1)+'</td>');
                for(var j in tableData[i]){
                    tbodyHtmls.push('<td>'+tableData[i][j]+'</td>');
                }
                tbodyHtmls.push('<td class="btn-group"><button class="btn btn-info">编辑</button><button class="btn btn-warning">删除</button></td>');
                tbodyHtmls.push('</tr>');                
            }
            tbodyHtmls.push('</tbody>');
            $(tableId).html(tbodyHtmls.join(''));
            $(pagerId).html($.serviceCreatePaging(pagerData));
        },

        /**
         * 提交数据到远程服务器
         * 
         */
        SubmitAjaxData:function(apiUrl,paramData,successFunc){
            $.ajax({
                url:apiUrl,
                data:paramData,
                dataType:"json",
                error:function(xmlhttpReq,errorInfo){
                    alert("ajax请求发送错误:"+errorInfo);
                },
                success:function(returnObject){
                    //返回结构必然为{status:0|1,msg:"",data:object}
                    if(returnObject && returnObject.status==0){
                        successFunc(returnObject.data);
                    }
                    else{
                        alert("ajax请求成功,但是响应错误:"+returnObject.msg);
                    }
                }
            });
        },
        
        /**
         * 创建一个提示框
         */
        alertWarnDialog:function(message){
            var dialogId="";
        }

    })

})(jQuery)